package com.mybatisflex.annotation;

/**
 * 字典设置监听器
 *
 * @author zhang
 */
@FunctionalInterface
public interface DictionarySetListener extends SetListener {

    /**
     * 获取字典名称
     *
     * @param mainCd 主码
     * @param subCd  子码
     * @return 字典名称
     */
    String getDictName(String mainCd, Object subCd);

    /**
     * 实体类属性设置
     *
     * @param entity   实体对象
     * @param property 属性名
     * @param value    值
     * @return 值
     * @see com.mybatisflex.core.table.TableInfo#invokeOnSetListener
     */
    @Override
    default Object onSet(Object entity, String property, Object value) {
        return value;
    }
}
